package com.zkthink.ceres.finance.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zkthink.base.R;
import com.zkthink.base.request.PageParams;
import com.zkthink.base.service.SuperService;
import com.zkthink.ceres.finance.dto.MemberCashOutAuditDTO;
import com.zkthink.ceres.finance.dto.MemberCashOutAuditPageDTO;
import com.zkthink.ceres.finance.dto.MemberCashOutDetailPageDTO;
import com.zkthink.ceres.finance.dto.MemberCashOutDetailSaveDTO;
import com.zkthink.ceres.finance.entity.MemberCashOutDetail;
import com.zkthink.ceres.finance.vo.MemberCashOutDetailVO;

public interface MemberCashOutDetailService extends SuperService<MemberCashOutDetail> {

    /**
     * 提现
     *
     * @param collectingAccountSaveDTO
     * @return
     */
    R<Boolean> doMemberCashOut(MemberCashOutDetailSaveDTO collectingAccountSaveDTO);

    /**
     * 提现明细分页
     *
     * @param pageParams
     * @return
     */
    R<IPage<MemberCashOutDetailVO>> findMemberCashOutDetailPage(PageParams<MemberCashOutDetailPageDTO> pageParams);

    /**
     * 提现审核分页
     *
     * @param pageParams
     * @return
     */
    R<IPage<MemberCashOutAuditDTO>> findAuditMemberCashOutDetailPage(PageParams<MemberCashOutAuditPageDTO> pageParams);

    /**
     * 提现审核
     *
     * @param cashOutAuditDTO
     * @return
     */
    R<Boolean> auditMemberCashOut(MemberCashOutAuditDTO cashOutAuditDTO);

    /**
     * 获取提现审核
     *
     * @param id
     * @return
     */
    R<MemberCashOutAuditDTO> getMemberCashOutAudit(Long id);
}
